今天给大家介绍的是来自IBM Research Europe研究人员近三年发表的一系列关于人工智能应用于有机合成的相关工作。由于篇幅有限,本文将分为上下两篇,主要概述其代表工作并由笔者整理归纳其整体工作思路,仅供参考。
图1 IBM RXN for Chemistry主要工作及其整体思路(笔者自己整理归纳,仅供参考)
IBM RXN for Chemistry主要发表的工作包括:1)读取文献、专利中的有机实验操作文本并转化为机器可读的操作元[1];2)对反应数据进行预处理(生成反应指纹[2-3]、数据增强[4]、数据降噪[5]、反应原料与产物的原子映射[6]);3)有机反应正向预测[7-8];4)逆合成反应预测[9];5)反应产率预测[10];6)将反应SMILES“翻译”成操作元[11]。(以上工作的源代码都开源)
以上这些工作构成了IBM RXN的云服务,同时也训练了一整套基于Transformer的人工智能模型,从读文献学习实验操作,到学习有机反应规律,学会正向反应、逆合成反应及评判反应产率高低,最后学会对某一条新反应自己设计合成实验,一定程度上实现了“基于云服务与AI驱动的自动化有机合成实验室”的构想。
由于篇幅有限,本文将先讲述前半部分的工作,包括实验操作文本转化成操作元与数据预处理方法。
想要实现机器自动化合成,就需要将人类可读的实验操作文本“翻译”成机器可读的操作元。IBM ResearchEurope的研究人员2020年在Nature Communication上发表了《Automated extraction of chemical synthesis actionsfrom experimental procedures》的工作[1]。他们利用自然语言处理领域中表现优异的Transformer模型,并且定义了24种实验操作,将实验操作中的试剂、用量、条件也同时提取出来,效果如图3所示。而有了这些操作元(actions),机器人就可以读取这些操作动作、试剂、试剂用量与反应条件,从而实现自动化合成。在IBM RXN网站上提供了该模块的使用,同时也可以安装rxn4chemistry,其中可以调用paragraph_to_actions模块实现,详情见https://github.com/rxn4chemistry/rxn4chemistry。图3 paragraph2actions的效果示意图在学会读文献做某条反应之后,想要让机器学会挑选合适的反应来合成我们得到目标分子,就需要让机器模型学习大量有机反应数据。在有机反应数据这一块, IBM在发表的工作中用的都是开源的USPTO数据集与商用的Pistachio数据集。有了数据集,想要让模型有更好的表现,就需要对数据进行预处理,这里IBM发表了四篇工作,包括生成反应指纹、数据降噪、数据增强、原子映射。反应指纹其实就是每一条不同反应独有的编码,并且它往往包含了反应的化学信息,类比分子指纹等,有了反应指纹就可以对反应进行聚类,并且利用它包含的化学信息来辅助各种反应相关模型的输入编码。IBM的研究人员在2020、2021年分别提出了两种反应指纹——rxnfp与drfp(Differential Reaction Fingerprint)。其中rxnfp是在训练BERT模型预测反应类型时,发现预训练得到的[CLS]词向量(256×1)可以作为反应指纹,如图5所示[2]。图5 rxnfp反应指纹是BERT反应分类模型中的[CLS]的编码[2]通过BERT预训练得到的rxnfp可以作为反应的输入编码,通过一些简单的机器学习模型(例如k近邻算法),就可以达到完整BERT模型的效果,但是前提是需要用BERT正式训练fine-tune过的rxnfp,而不是预训练得到的rxnfp。紧接着在2021年IBM的另一组研究人员又发表了drfp反应指纹。相比rxnfp需要针对特定任务进行训练学习,drfp则是从分子结构出发,找到产物与原料子结构中的差异,进行哈希编码得到2048维的向量,如图6所示[3]。它无需大规模训练就可以得到反应指纹,并且在反应分类任务上效果接近rxnfp(结果如表1所示),因而具有较好的实际应用价值。表1 不同反应指纹在USPTO数据集(1000种反应模板)上反应分类效果[3]在数据增强方面,IBM研究人员在产率预测任务中,再输入时用的是反应SMILES,而数据增强即对反应物(包括了试剂、溶剂等)进行顺序上的排列组合,再对分子SMILES进行随机化处理(生成多个合理的SMILES),从而使得原本数据量很小的某个人名反应数据得到扩充,从而使得模型表现得到提升[4]。在数据降噪方面,IBM研究人员借鉴了“forget event”的策略,对于模型在训练过程中经常“遗忘”的数据进行舍弃,这些数据可能是错误或者罕见的数据,按照遗忘次数从高到低排序后,按照一定比例进行舍弃,模型在正向反应预测与逆合成反应预测中表现都有所提高[5]。而舍弃的比例是需要通过调参来确定最优解。通过数据降噪,作者发现在逆合成反应预测中,模型预测出合理结果的置信度显著提高,从而能使逆合成路线的搜索更充分,找到商业可得原料分子的概率提高。最后一个是对有机反应数据进行原子映射,即将产物分子中每个原子(除氢原子以外)与反应物、试剂中的原子相匹配。IBM研究人员发表在Science Advances上的《Extraction of organic chemistry grammar from unsupervised learning of chemical reactions》就是介绍了一种基于Transformer注意力机制的无监督学习模型——RXNMapper[6]。相比于2019年Jaworski等人推出的基于人工设计映射规则的Mappet[12],RXNMapper与Mappet在处理复杂反应时(如图7所示),效果远好于其他原子映射软件,如图8所示。虽然RXNMapper的表现还没有超越Mappet,但是它基于无监督学习,可以在未来低成本地学习更多新反应的原子映射关系,它也证明注意力机制的模型可以学会有机反应的规则或者说是“语法”。此外它是代码完全开源的,而Mappet只提供了Web交互服务。在实现原子映射的基础上,可以更准确地提取反应模板与图模型中的节点、边的对应关系,还可以增加一些基于SMILES输入的模型的可解释性。图7 不同软件在处理复杂重排反应时的原子映射表现[6]图8 不同软件在不同难度的反应原子映射中的表现[6]本次介绍了IBM Research Europe在有机合成与有机反应相关工作。研究人员通过搭建与训练深度学习模型,让模型学会读文献做反应,也学会了如何编码有机反应、如何舍弃不重要的有机反应知识、如何巩固有机反应知识以及如何学习有机反应的“语法”。笔者认为IBM的相关工作是可以形成闭环的,最终实现“自动化有机合成实验室”或者说是一个“人工智能有机化学家”,从读文献到学习有机反应,再到自己设计实验。而本次先介绍了前半部分的“准备工作”,即有机反应数据的获取与数据预处理,这些都是为下游任务奠定基础的重要环节,尤其是IBM擅长使用Transformer框架的深度学习模型,数据的数量与质量往往决定了效果的好坏。因此对于化学信息学的类似问题,我们也应当有所借鉴学习,不仅要重视数据的获取,还应注意数据的前期分析与处理,才能让模型表现更上一层楼。仅仅由paragraph2actions模块为自动化合成机器人提供已报道过的反应与反应实验操作是不够的,在合成目标产物分子时,我们往往没有一模一样的现成反应数据,需要设计新原料与新实验条件,因此让机器模型能够学会设计逆合成路线、设计反应实验条件是比肩人类有机化学家的。下次我们将继续讲IBM研究人员让人工智能模型学会预测反应产物、预测反应原料、预测反应产率,以及学会面对一个新反应如何设计有机合成实验。[1]Vaucher, A. C.; Zipoli, F.; Geluykens,J., et al., Automated extraction of chemical synthesis actions from experimental procedures. Nat. Commun. 2020,11 (1), 3601, DOI:10.1038/s41467-020-17266-6[2]Schwaller, P.;Probst, D.; Vaucher, A. C., et al.,Mapping the space of chemical reactions using attention-based neural networks. Nat. Mach. Intell. 2021,3 (2), 144-152,DOI: 10.1038/s42256-020-00284-w[3]Probst, D.;Schwaller, P.; Reymond, J.-L., Reaction Classification and Yield Prediction using the Differential Reaction Fingerprint DRFP. ChemRxiv 2021, DOI:10.33774/chemrxiv-2021-mc870[4]Schwaller, P.;Vaucher, A. C.; Laino, T., et al.,Data augmentation strategies to improve reaction yield predictions and estimate uncertainty. ChemRxiv 2020, DOI:10.26434/chemrxiv.13286741.v1[5]Toniato, A.;Schwaller, P.; Cardinale, A., et al.,Unassisted noise reduction of chemical reaction datasets. Nat. Mach. Intell. 2021,3 (6), 485-494, DOI:10.1038/s42256-021-00319-w[6]Schwaller, P.;Hoover, B.; Reymond, J.-L., et al.,Extraction of organic chemistry grammar from unsupervised learning of chemical reactions. Sci. Adv. 2021,7 (15), eabe4166, DOI: 10.1126/sciadv.abe4166[7]Schwaller, P.;Gaudin, T.; Lányi, D., et al., “Foundin Translation”: predicting outcomes of complex organic chemistry reactions using neural sequence-to-sequence models. Chem.Sci. 2018,9 (28), 6091-6098, DOI: 10.1039/C8SC02339E[8]Schwaller, P.;Laino, T.; Gaudin, T., et al.,Molecular Transformer: A Model for Uncertainty-Calibrated Chemical Reaction Prediction. ACS Cent. Sci. 2019,5 (9), 1572-1583, DOI: 10.1021/acscentsci.9b00576[9]Schwaller, P.;Petraglia, R.; Zullo, V., et al.,Predicting retrosynthetic pathways using transformer-based models and ahyper-graph exploration strategy. Chem.Sci. 2020,11 (12), 3316-3325, DOI: 10.1039/C9SC05704H[10]Schwaller, P.;Vaucher, A. C.; Laino, T., et al.,Prediction of chemical reaction yields using deep learning. Mach. Learn.: Sci. Technol. 2021,2 (1), 015016, DOI: 10.1088/2632-2153/abc81d[11]Vaucher, A. C.;Schwaller, P.; Geluykens, J., et al.,Inferring experimental procedures from text-based representations of chemical reactions. Nat. Commun. 2021,12 (1), 2573, DOI: 10.1038/s41467-021-22951-1[12]Jaworski, W.; Szymkuć, S.; Mikulak-Klucznik, B., et al., Automatic mapping of atoms across both simple and complex chemical reactions. Nat. Commun. 2019,10 (1), 1434, DOI: 10.1038/s41467-019-09440-2
感兴趣的读者,可以添加小邦微信(zhiyaobang2020)加入读者实名讨论微信群。添加时请主动注明姓名-企业-职位/岗位 或
姓名-学校-职务/研究方向。